// ============================== 导入依赖 ============================== //

// ============================== 导出异步调用 ============================== //

export default {
  // —————————————————————————————— 列表 —————————————————————————————— //

  async remoteList({ state: { API, param }, getters: { GETTER } }) {
    const TIP = API.transTip(`查询${GETTER.word}列表`)
    const [num, arr] = await API.getList(param, TIP)
    return [num, transList(arr)]
  },

  // —————————————————————————————— 下载 —————————————————————————————— //

  async remoteDownload({ state: { API, param, downParam, refTable }, getters: { GETTER } }) {
    const TIP = API.transTip(`导出${GETTER.word}`)
    const [, arr] = await API.getList({ ...param, ...downParam }, TIP)
    refTable.export(GETTER.fileName, transList(arr))
  },

  // —————————————————————————————— 增 —————————————————————————————— //

  async remoteAdd({ state: { API, one }, getters: { GETTER } }) {
    const TIP = API.transTip(`新增${GETTER.word}`)
    const msg = await API.add(one, TIP)
    return msg
  },

  // —————————————————————————————— 改 —————————————————————————————— //

  async remoteEdit({ state: { API, one }, getters: { GETTER } }) {
    const TIP = API.transTip(`修改${GETTER.word}`)
    const msg = await API.edit(one, TIP)
    return msg
  },

  // —————————————————————————————— 删 —————————————————————————————— //

  async remoteDel({ state: { API, one }, getters: { GETTER } }) {
    const TIP = API.transTip(`删除${GETTER.word}`)
    const msg = await API.del(one, TIP)
    return msg
  },
}

// ============================== 转换方法 ============================== //

const transList = (arr) => {
  arr.forEach(item => {
    item.monitorPointSiteId = item.monitorDto.map((point) => point.monitorPointSiteId)
    // item.pointNames = item.monitorDto.map((point) => point.monitorPointSiteName).join('，')
    // const types
  })
  return arr
}
